package io.adrainty.bolee.framework.commons.log;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serial;
import java.io.Serializable;

/**
 * @author AdRainty
 * @version V1.0.0
 * @since 2025/7/27 下午11:19
 */

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "日志业务实体")
public class LogBusinessEntity implements Serializable {

    @Serial
    private static final long serialVersionUID = -345799498628246006L;

    @Schema(description = "请求ID")
    private String requestTid;

    @Schema(description = "请求地址")
    private String host;

    @Schema(description = "请求IP")
    private String hostAddress;

    @Schema(description = "请求路径")
    private String requestUri;

    @Schema(description = "请求方式")
    private String requestMethod;

    @Schema(description = "请求参数")
    private String requestBody;

    @Schema(description = "响应参数")
    private String responseBody;

    @Schema(description = "响应Code")
    private String responseCode;

    @Schema(description = "响应信息")
    private String responseMsg;

    @Schema(description = "用户ID")
    private String userId;

    @Schema(description = "用户名")
    private String username;

    @Schema(description = "业务类型")
    private String businessType;

    @Schema(description = "设备编号")
    private String deviceNumber;

    @Schema(description = "区域")
    private String region;

}
